;this is beta release 1 of v3.0. It is advanced enough over v2.5 that
;I stopped distributing v2.5.
;Copy and paste these scripts in the appropriate places in your mIRC .ini
;files. These scripts protect against all floods I know of.
;
;If you are being flooded badly, hit the F12 key. This will engage
;ultra flood protection. Hitting the F12 key a second time will
;change your nickname to a random nickname. Each time after this you hit
;the F12 key, it will change your nickname to another random one. This is
;one of the best methods to avoid a very bad flood. When ultra flood
;protection is on, you will be ignoring all input from other users, except
;for channel actions, notices and text.
;To disable emergency flood protection, and restore your original
;nickname, hit the F11 key,
;
;If your mIRC or computer locks up, hit the "F11" key when you restart
;mIRC. This will clear the Ultra flood protection mask. If you feel you
;are still unwantingly ignoring users, when you are not being flooded,
;you may have to clear the ignore list manually. To do this, from the
;main menu bar, click "Files", then "Setup" then the "Control" tab. Click
;on "Ignore". Delete all the entries.
;
;v2.1 added a repeat kick. It will kick if a person repeats the same text
;to a channel 3 times. This can be turned on and off, but in order for
;it to work, channel flood prot must be turned on.
;
;v2.2 has rewritten lines for nick and revolving door floods.
;
;v2.3 modifed dcc chat, send, ctcp and ultra protection to make it work
;better.
;
;v2.4 you can now turn the text length flood prot on or off. The ctcp flood
;protection was completely rewritten. The ctcp flood protection now can be
;set for either channel ctcps, private ctcps or both. It will now kick a
;channel ctcp flooder. It will only ignore private ctcps after 3 in 12 seconds.
;
;v2.5 improved the way dcc chat and send floods are handled and added
;ctcp reply flood protection.
;
;v3.0 completely rewrote all the flood protect lines, using strictly
;variables.
;If you have any custom ctcp commands, you must put them inside the #floodctcp
;group, inside the brackets, right where the ü▀ΩtπFú≥≤╨ü version command is.
;All must be in the form, if $parm1 == <ctcp command> <mIRC command>. If you
;do not add them like this, those ctcp commands will not be protected
;against floods. Custom ctcp replies must go inside the #floodctcpreply group,
;inside the brackets, or they will not be protected against floods either.
;goes in popups, status window or menu bar
ü▀ΩtπFú≥≤╨ü v 3.0
.Advertise:me is using 4ü▀ΩtπFú≥≤╨ü v 3.0 flood protection, by 3TooLMan for 2mIRC v4.72.
.All
..Off:.disable #floodchan | .disable #floodchat | .disable #floodctcp | .disable #floodctcpreply | .disable #floodinvite | .disable #floodnick | .disable #floodprivate | .disable #floodrevdoor | .disable #floodserv | .disable #floodultracommand | .disable #floodultraevent | set %ctcpchan off | set %ctcppriv off | set %repeatkick off | set %textlength 999 | .timer851 1 1 .ignore -rinpt *!*@* | echo 2 -a ü▀ΩtπFú≥≤╨ü All Protection is now 4OFF.
..On:.enable #floodchan | .enable #floodchat | .enable #floodctcp | .enable #floodctcpreply | .enable #floodinvite | .enable #floodnick | .enable #floodprivate | .enable #floodrevdoor | .enable #floodserv | set %ctcpchan on | set %ctcppriv on | set %repeatkick on | set %textlength 300 | .timer851 off | echo 2 -a ü▀ΩtπFú≥≤╨ü All Protection except Ultra is now 3ON.
.Channel
..Channel Off:.disable #floodchan | echo 2 -a ü▀ΩtπFú≥≤╨ü Channel Protection is now 4OFF.
..Channel On:.enable #floodchan | echo 2 -a ü▀ΩtπFú≥≤╨ü Channel Protection is now 3ON.
.Chat
..Off:.disable #floodchat | echo 2 -a ü▀ΩtπFú≥≤╨ü Chat Protection is now 4OFF.
..On:.enable #floodchat | echo 2 -a ü▀ΩtπFú≥≤╨ü Chat Protection is now 3ON.
.CTCP
..All off:.disable #floodctcp | set %ctcpchan off | set %ctcppriv off | echo 2 -a ü▀ΩtπFú≥≤╨ü All CTCP Protection is now 4OFF.
..All on:.enable #floodctcp | set %ctcpchan on | set %ctcppriv on | echo 2 -a ü▀ΩtπFú≥≤╨ü All CTCP Protection is now 3ON.
..Channel on, private off:.enable #floodctcp | set %ctcpchan on | set %ctcppriv off | echo 2 -a ü▀ΩtπFú≥≤╨ü CTCP Protection is now Channel 3ON, Private 4OFF.
..Private on, channel off:.enable #floodctcp | set %ctcpchan off | set %ctcppriv on | echo 2 -a ü▀ΩtπFú≥≤╨ü CTCP Protection is now Private 3ON, Channel 4OFF.
..Channel
...Off:.disable #floodctcp | echo 2 -a ü▀ΩtπFú≥≤╨ü CTCP Protection is now 4OFF.
...On:.enable #floodctcp | echo 2 -a ü▀ΩtπFú≥≤╨ü CTCP Protection is now 3ON.
.CTCP reply
..Off:.disable #floodctcpreply | echo 2 -a ü▀ΩtπFú≥≤╨ü CTCP Reply Protection is now 4OFF.
..On:.enable #floodctcpreply | echo 2 -a ü▀ΩtπFú≥≤╨ü CTCP Reply Protection is now 3ON.
.Invite
..Off:.disable #floodinvite | echo 2 -a ü▀ΩtπFú≥≤╨ü Invite Protection is now 4OFF.
..On:.enable #floodinvite | echo 2 -a ü▀ΩtπFú≥≤╨ü Invite Protection is now 3ON.
.Length
..Off:set %textlength 999 | echo 2 -a ü▀ΩtπFú≥≤╨ü Long Text Protection now 4OFF.
..On:set %textlength 300 | echo 2 -a ü▀ΩtπFú≥≤╨ü Long Text Protection now 3ON.
.Nick
..Off:.disable #floodnick | echo 2 -a ü▀ΩtπFú≥≤╨ü Nickname Protection is now 4OFF.
..On:.enable #floodnick | echo 2 -a ü▀ΩtπFú≥≤╨ü Nickname Protection is now 3ON.
.Private
..Off:.disable #floodprivate | echo 2 -a ü▀ΩtπFú≥≤╨ü Message Protection is now 4OFF.
..On:.enable #floodprivate | echo 2 -a ü▀ΩtπFú≥≤╨ü Message Protection is now 3ON.
.Repeat
..Off:set %repeatkick off | echo 2 -a ü▀ΩtπFú≥≤╨ü Repeat Text Protection now 4OFF.
..On:set %repeatkick on | echo 2 -a ü▀ΩtπFú≥≤╨ü Repeat Text Protection no 3ON.
.Revdoor
..Off:.disable #floodrevdoor | echo 2 -a ü▀ΩtπFú≥≤╨ü Rev Door Protection is now 4OFF.
..On:.enable #floodrevdoor | echo 2 -a ü▀ΩtπFú≥≤╨ü Rev Door Protection is now 3ON.
.Server
..Off:.disable #floodserv | echo 2 -a ü▀ΩtπFú≥≤╨ü File Server Protection is now 4OFF.
..On:.enable #floodserv | echo 2 -a ü▀ΩtπFú≥≤╨ü File Server Protection is now 3ON.
.Ultra
..Off:f11
..On:f12
;goes in aliases
floodchan {
if ((%textlength != $null) && ($len($parms) > %textlength)) {
if $me isop $chan {
mode $chan -o+b $nick $wildsite
kick $chan $nick Channel Long Text Flood! ü▀ΩtπFú≥≤╨ü
.timer 1 10 mode $chan -b $wildsite
goto end
}
else { echo 2 $chan Channel Long Text Flood! ü $+ $nick $+ ü is being ignored. ü▀ΩtπFú≥≤╨ü | .ignore -cu45 $wildsite }
if %flood.ctcp. [ $+ [ $wildsite ] ] == 4 { notice $nick CTCP Flood! You are being ignored. ü▀ΩtπFú≥≤╨ü | unset %flood.ctcp. [ $+ [ $wildsite ] ] | if $parm1 == dcc .ignore -ntu90 $wildsite | else .ignore -tu90 $wildsite }
}
if $parm1 == version raw -q notice $nick :VERSION ü▀ΩtπFú≥≤╨ü 3.0
}
#floodctcp end
;goes in remote, events
;the #floodultraevent group must be at the top of the section.
#floodultraevent start
1:on action:*:?:.close -m $nick | .ignore -inpt *!*@* | halt
1:on chat:*:.close -c $nick | .ignore -inpt *!*@* | halt
1:on ctcpreply:*:.ignore -inpt *!*@* | halt
1:on invite:#:.ignore -inpt *!*@* | halt
1:on nosound:.ignore -inpt *!*@* | halt
1:on notice:*:?:.ignore -inpt *!*@* | halt
1:on serv:*:.close -f $nick | .ignore -inpt *!*@* | halt
1:on snotice:*:.ignore -inpt *!*@* | halt
1:on text:*:?:.close -m $nick | .ignore -inpt *!*@* | halt
1:on wallops:*:.ignore -inpt *!*@* | halt
#floodultraevent end
!1:on invite:#:notice $nick You invited me to $chan $+ . All furthur invites will be ignored. ü▀ΩtπFú≥≤╨ü | echo 2 -a You were invited by $nick to $chan $+ . | .ignore -iu45 $nick 2
#floodchan start
!1:on action:*:#:floodchan
!1:on notice:*:#:floodchan
!1:on text:*:#:floodchan
#floodchan end
#floodchat start
!1:on chat:*:{
if ((%textlength != $null) && ($len($parms) > %textlength)) { .close -c $nick | notice $nick Chat Flood! You are being ignored. ü▀ΩtπFú≥≤╨ü | unset %flood.chat. [ $+ [ $nick ] ] | .ignore -ntu45 $nick 2 | goto end }